// $ANTLR 3.4 C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g 2012-10-03 16:15:59

package PL.prac3;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class Anasin2 extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ACEPTA", "BARRA", "BLANCO", "BOOLEANO", "CADENA", "CL_LLAVE", "CL_PARENTESIS", "COMILLAS", "DIGITO", "DIRECTORIO", "DOLAR", "ESPACIO", "IDENT", "INSTRUCCION", "LETRA", "NUMERO", "OPCION", "OPERADOR", "OP_LLAVE", "OP_PARENTESIS", "SET_VAR", "VARIABLE"
    };

    public static final int EOF=-1;
    public static final int ACEPTA=4;
    public static final int BARRA=5;
    public static final int BLANCO=6;
    public static final int BOOLEANO=7;
    public static final int CADENA=8;
    public static final int CL_LLAVE=9;
    public static final int CL_PARENTESIS=10;
    public static final int COMILLAS=11;
    public static final int DIGITO=12;
    public static final int DIRECTORIO=13;
    public static final int DOLAR=14;
    public static final int ESPACIO=15;
    public static final int IDENT=16;
    public static final int INSTRUCCION=17;
    public static final int LETRA=18;
    public static final int NUMERO=19;
    public static final int OPCION=20;
    public static final int OPERADOR=21;
    public static final int OP_LLAVE=22;
    public static final int OP_PARENTESIS=23;
    public static final int SET_VAR=24;
    public static final int VARIABLE=25;

    // delegates
    public Parser[] getDelegates() {
        return new Parser[] {};
    }

    // delegators


    public Anasin2(TokenStream input) {
        this(input, new RecognizerSharedState());
    }
    public Anasin2(TokenStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return Anasin2.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g"; }



    // $ANTLR start "entrada"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:15:1: entrada : ( asignacion EOF | DOLAR ) ;
    public final void entrada() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:15:9: ( ( asignacion EOF | DOLAR ) )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:15:11: ( asignacion EOF | DOLAR )
            {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:15:11: ( asignacion EOF | DOLAR )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==EOF||LA1_0==CL_LLAVE||LA1_0==IDENT||LA1_0==OPCION||LA1_0==SET_VAR) ) {
                alt1=1;
            }
            else if ( (LA1_0==DOLAR) ) {
                alt1=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }
            switch (alt1) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:15:12: asignacion EOF
                    {
                    pushFollow(FOLLOW_asignacion_in_entrada50);
                    asignacion();

                    state._fsp--;


                    match(input,EOF,FOLLOW_EOF_in_entrada53); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:15:29: DOLAR
                    {
                    match(input,DOLAR,FOLLOW_DOLAR_in_entrada56); 

                    }
                    break;

            }


            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "entrada"



    // $ANTLR start "asignacion"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:1: asignacion : ( asignacion_numero | asignacion_booleano | asignacion_directorio | asignacion_mensaje | asignacion_variable | condicion )* ;
    public final void asignacion() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:11: ( ( asignacion_numero | asignacion_booleano | asignacion_directorio | asignacion_mensaje | asignacion_variable | condicion )* )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:13: ( asignacion_numero | asignacion_booleano | asignacion_directorio | asignacion_mensaje | asignacion_variable | condicion )*
            {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:13: ( asignacion_numero | asignacion_booleano | asignacion_directorio | asignacion_mensaje | asignacion_variable | condicion )*
            loop2:
            do {
                int alt2=7;
                switch ( input.LA(1) ) {
                case IDENT:
                    {
                    int LA2_2 = input.LA(2);

                    if ( (LA2_2==OPERADOR) ) {
                        switch ( input.LA(3) ) {
                        case NUMERO:
                            {
                            alt2=1;
                            }
                            break;
                        case BOOLEANO:
                            {
                            alt2=2;
                            }
                            break;
                        case DIRECTORIO:
                            {
                            alt2=3;
                            }
                            break;
                        case CADENA:
                            {
                            alt2=4;
                            }
                            break;

                        }

                    }


                    }
                    break;
                case SET_VAR:
                    {
                    alt2=5;
                    }
                    break;
                case OPCION:
                    {
                    alt2=6;
                    }
                    break;

                }

                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:14: asignacion_numero
            	    {
            	    pushFollow(FOLLOW_asignacion_numero_in_asignacion65);
            	    asignacion_numero();

            	    state._fsp--;


            	    }
            	    break;
            	case 2 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:32: asignacion_booleano
            	    {
            	    pushFollow(FOLLOW_asignacion_booleano_in_asignacion67);
            	    asignacion_booleano();

            	    state._fsp--;


            	    }
            	    break;
            	case 3 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:52: asignacion_directorio
            	    {
            	    pushFollow(FOLLOW_asignacion_directorio_in_asignacion69);
            	    asignacion_directorio();

            	    state._fsp--;


            	    }
            	    break;
            	case 4 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:74: asignacion_mensaje
            	    {
            	    pushFollow(FOLLOW_asignacion_mensaje_in_asignacion71);
            	    asignacion_mensaje();

            	    state._fsp--;


            	    }
            	    break;
            	case 5 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:93: asignacion_variable
            	    {
            	    pushFollow(FOLLOW_asignacion_variable_in_asignacion73);
            	    asignacion_variable();

            	    state._fsp--;


            	    }
            	    break;
            	case 6 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:16:113: condicion
            	    {
            	    pushFollow(FOLLOW_condicion_in_asignacion75);
            	    condicion();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);


            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion"



    // $ANTLR start "asignacion_numero"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:17:1: asignacion_numero : IDENT OPERADOR NUMERO ;
    public final void asignacion_numero() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:17:18: ( IDENT OPERADOR NUMERO )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:17:20: IDENT OPERADOR NUMERO
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_numero83); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_numero85); 

            match(input,NUMERO,FOLLOW_NUMERO_in_asignacion_numero87); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_numero"



    // $ANTLR start "asignacion_booleano"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:18:1: asignacion_booleano : IDENT OPERADOR BOOLEANO ;
    public final void asignacion_booleano() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:18:20: ( IDENT OPERADOR BOOLEANO )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:18:22: IDENT OPERADOR BOOLEANO
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_booleano93); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_booleano95); 

            match(input,BOOLEANO,FOLLOW_BOOLEANO_in_asignacion_booleano97); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_booleano"



    // $ANTLR start "asignacion_directorio"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:19:1: asignacion_directorio : IDENT OPERADOR DIRECTORIO ;
    public final void asignacion_directorio() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:19:22: ( IDENT OPERADOR DIRECTORIO )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:19:24: IDENT OPERADOR DIRECTORIO
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_directorio103); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_directorio105); 

            match(input,DIRECTORIO,FOLLOW_DIRECTORIO_in_asignacion_directorio107); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_directorio"



    // $ANTLR start "asignacion_mensaje"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:20:1: asignacion_mensaje : IDENT OPERADOR CADENA ;
    public final void asignacion_mensaje() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:20:19: ( IDENT OPERADOR CADENA )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:20:21: IDENT OPERADOR CADENA
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_mensaje113); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_mensaje115); 

            match(input,CADENA,FOLLOW_CADENA_in_asignacion_mensaje117); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_mensaje"



    // $ANTLR start "asignacion_variable"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:21:1: asignacion_variable : SET_VAR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ;
    public final void asignacion_variable() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:21:20: ( SET_VAR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:21:22: SET_VAR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA )
            {
            match(input,SET_VAR,FOLLOW_SET_VAR_in_asignacion_variable123); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_variable125); 

            if ( (input.LA(1) >= BOOLEANO && input.LA(1) <= CADENA)||input.LA(1)==DIRECTORIO||input.LA(1)==NUMERO ) {
                input.consume();
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_variable"



    // $ANTLR start "comprobacion"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:22:1: comprobacion : ( IDENT | VARIABLE | ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ) ) ;
    public final void comprobacion() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:22:13: ( ( IDENT | VARIABLE | ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ) ) )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:22:15: ( IDENT | VARIABLE | ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ) )
            {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:22:15: ( IDENT | VARIABLE | ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ) )
            int alt3=3;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==IDENT) ) {
                int LA3_1 = input.LA(2);

                if ( (LA3_1==OPERADOR) ) {
                    alt3=3;
                }
                else if ( (LA3_1==CL_PARENTESIS) ) {
                    alt3=1;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 3, 1, input);

                    throw nvae;

                }
            }
            else if ( (LA3_0==VARIABLE) ) {
                int LA3_2 = input.LA(2);

                if ( (LA3_2==OPERADOR) ) {
                    alt3=3;
                }
                else if ( (LA3_2==CL_PARENTESIS) ) {
                    alt3=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 3, 2, input);

                    throw nvae;

                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;

            }
            switch (alt3) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:22:16: IDENT
                    {
                    match(input,IDENT,FOLLOW_IDENT_in_comprobacion142); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:22:24: VARIABLE
                    {
                    match(input,VARIABLE,FOLLOW_VARIABLE_in_comprobacion146); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:22:35: ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) )
                    {
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:22:35: ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) )
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:22:36: ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA )
                    {
                    if ( input.LA(1)==IDENT||input.LA(1)==VARIABLE ) {
                        input.consume();
                        state.errorRecovery=false;
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        throw mse;
                    }


                    match(input,OPERADOR,FOLLOW_OPERADOR_in_comprobacion159); 

                    match(input,OPERADOR,FOLLOW_OPERADOR_in_comprobacion161); 

                    if ( (input.LA(1) >= BOOLEANO && input.LA(1) <= CADENA)||input.LA(1)==DIRECTORIO||input.LA(1)==NUMERO ) {
                        input.consume();
                        state.errorRecovery=false;
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        throw mse;
                    }


                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "comprobacion"



    // $ANTLR start "condicion"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:23:1: condicion : OPCION OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE asignacion CL_LLAVE ;
    public final void condicion() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:23:10: ( OPCION OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE asignacion CL_LLAVE )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin2.g:23:12: OPCION OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE asignacion CL_LLAVE
            {
            match(input,OPCION,FOLLOW_OPCION_in_condicion179); 

            match(input,OP_PARENTESIS,FOLLOW_OP_PARENTESIS_in_condicion181); 

            pushFollow(FOLLOW_comprobacion_in_condicion183);
            comprobacion();

            state._fsp--;


            match(input,CL_PARENTESIS,FOLLOW_CL_PARENTESIS_in_condicion185); 

            match(input,OP_LLAVE,FOLLOW_OP_LLAVE_in_condicion187); 

            pushFollow(FOLLOW_asignacion_in_condicion189);
            asignacion();

            state._fsp--;


            match(input,CL_LLAVE,FOLLOW_CL_LLAVE_in_condicion191); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "condicion"

    // Delegated rules


 

    public static final BitSet FOLLOW_asignacion_in_entrada50 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entrada53 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DOLAR_in_entrada56 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_asignacion_numero_in_asignacion65 = new BitSet(new long[]{0x0000000001110002L});
    public static final BitSet FOLLOW_asignacion_booleano_in_asignacion67 = new BitSet(new long[]{0x0000000001110002L});
    public static final BitSet FOLLOW_asignacion_directorio_in_asignacion69 = new BitSet(new long[]{0x0000000001110002L});
    public static final BitSet FOLLOW_asignacion_mensaje_in_asignacion71 = new BitSet(new long[]{0x0000000001110002L});
    public static final BitSet FOLLOW_asignacion_variable_in_asignacion73 = new BitSet(new long[]{0x0000000001110002L});
    public static final BitSet FOLLOW_condicion_in_asignacion75 = new BitSet(new long[]{0x0000000001110002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_numero83 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_numero85 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_NUMERO_in_asignacion_numero87 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_booleano93 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_booleano95 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_BOOLEANO_in_asignacion_booleano97 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_directorio103 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_directorio105 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DIRECTORIO_in_asignacion_directorio107 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_mensaje113 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_mensaje115 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_CADENA_in_asignacion_mensaje117 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SET_VAR_in_asignacion_variable123 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_variable125 = new BitSet(new long[]{0x0000000000082180L});
    public static final BitSet FOLLOW_set_in_asignacion_variable127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_comprobacion142 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_VARIABLE_in_comprobacion146 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_comprobacion151 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_comprobacion159 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_comprobacion161 = new BitSet(new long[]{0x0000000000082180L});
    public static final BitSet FOLLOW_set_in_comprobacion163 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_OPCION_in_condicion179 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_OP_PARENTESIS_in_condicion181 = new BitSet(new long[]{0x0000000002010000L});
    public static final BitSet FOLLOW_comprobacion_in_condicion183 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_CL_PARENTESIS_in_condicion185 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_OP_LLAVE_in_condicion187 = new BitSet(new long[]{0x0000000001110200L});
    public static final BitSet FOLLOW_asignacion_in_condicion189 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CL_LLAVE_in_condicion191 = new BitSet(new long[]{0x0000000000000002L});

}